package com.ceba.be.api;

import com.ceba.be.api.utils.APIHttpClient;

import java.util.HashMap;
import java.util.Map;

/**
 * 《IDS-API接口说明.pdf》文档中章节7的代码示例
 */
public class CustomSignFileFromFormByStampIDTest {
	//测吧签章系统的URL
	private static String cebaSystemUrl = "localhost:8080";
	//本地待签名文件路径
	private static String localPdfPathToBeSigned = "C:\\Users\\liguangyao\\Desktop\\个人通用证书申请表.pdf";
	//测吧系统签名接口id。在测吧系统管理员配置的“接口可视化配置”设置
	private static String cebaSystemSignId = "524000c746894a1b9010637de650e88b";
	//业务系统设置的id，唯一的对应此次签名任务
	private static String bizFileId = "acdb57a748534f50b84ada7ec9c83202";

	public static void main(String[]args){
		String json = generJson();
		String url= "http://"+ cebaSystemUrl +"/ep/cxf/ws/rs/customSignFileFromFormByStampID";
        APIHttpClient client = new APIHttpClient(url);
        String re = "";
        Map<String,String> maps = new HashMap<String,String>();
        maps.put("json", json);
		try {
			re = client.uploadFileImpl(url, localPdfPathToBeSigned,"pdf",maps,"text");
		} catch (Exception e) {
			e.printStackTrace();
		}
        System.out.println(re);
	}

	/**
	 * 协议说明
	{
		"sign":{
			"ID":"b3222161dc1f4468be71c630e5475364",	//接口配置ID。来源于“后台管理->接口配置->接口可视化配置”界面的id列，唯一标识此次签名的规则和印章调用规则。
			"fileId:"c8cad3b58484476c86c0b2",			// 业务系统的文件ID。业务系统可据此字段来区分不同的签名文件
			"taskId:"2311a3b0bcf24c5898262", 			// 业务系统的任务ID。不常用，可不填
			"belongType:"001" ,							// 业务系统归属页面标识。不常用，可不填
			"reviewId:"2311a3b0bcf2255eb22" 			// 业务系统所属评审组ID。不常用，可不填
		}
	}
	 */
	private static String generJson() {StringBuffer ss = new StringBuffer();
		ss.append("{"
			+ "\"sign\":")
			.append("{")
			.append("\"ID\": \"" + cebaSystemSignId + "\"")
			.append(",\"fileId\": \"" + bizFileId + "\"")
//			.append(",\"taskId\": \"" + bizFileId + "\"")
//			.append(",\"belongType\": \"001\"")
//			.append(",\"reviewId\": \"2311a3b0bcf2255eb22\"")
			.append("}}");
	
		return ss.toString();
	}
}
